#include "ASTNode.h"
#include <string>
#include <vector>

using namespace std;

unsigned int ASTNode::indexCount(0);

ASTNode::ASTNode(unsigned int nodeType, string nodeName, unsigned int lineNumber)
{
	/*linkCount = 0;
	if(!upLink)
	{
		//this->upLink = nullptrptr;
	} else {
		this->nodeLinks.push_back(upLink);
	}*/
	this->setNodeType(nodeType);
	this->setNodeName(nodeName);
	this->setLineNumber(lineNumber);
	this->nodeIndex = indexCount++;
}

string ASTNode::getNodeName(void)
{
	return this->nodeName;
}

unsigned int ASTNode::getLineNumber(void)
{
	return this->lineNumber;
}

unsigned int ASTNode::getNodeType(void)
{
	return this->nodeType;
}

unsigned int ASTNode::getNodeIndex(void)
{
	return this->nodeIndex;
}

void ASTNode::setNodeName(string nodeName)
{
	this->nodeName = nodeName;
}

void ASTNode::setNodeType(unsigned int nodeType)
{
	this->nodeType = nodeType;
}

void ASTNode::setLineNumber(unsigned int lineNumber)
{
	this->lineNumber = lineNumber;
}